Virtualization technology is a decoupling technology for separating a bottom hardware device from an upper operating system and application programs, and referring to FIG. 1, a virtual machine monitor (VMM, Virtual Machine Monitor) layer is introduced to directly manage bottom hardware resources, create a virtual machine (VM, Virtual Machine) irrelevant to the bottom hardware for being used by the upper operating system and application programs.
The virtualization technology, as one of the important supporting technologies of the currently popular cloud computing (Cloud Computing) platform, can greatly improve the resource utilization efficiency of a physical device. Compared with a conventional physical server, the virtual machine has better isolation and encapsulation, and information of the whole virtual machine can be saved in a virtual disk image (VDI, Virtual Disk Image), so as to conveniently perform operations such as snapshot, backup, cloning and delivering for the virtual machine.
With the evolution of the x86 processor, the virtualization technology of a central processing unit (CPU, Central Processing Unit) and a memory is increasingly perfected, with ever-decreasing overhead. Based on the latest processor, the overhead of virtualization of CPU and memory for most applications has been less than 10%. In an input/output (I/O, Input/Output) virtualization field, the virtualization I/O solution having high performance and low delay is still a key technical challenge in the virtualization field. The conventional I/O virtualization solution includes two types, namely, a software solution and a hardware solution. However, the conventional software solution and hardware solution both have their outstanding advantages and disadvantages. For example, the conventional software solution is advantageous in compatibility, but has great performance loss; the hardware solution can bring about desired performance, but has problems such as feature compatibility and guest operating system (Guest OS) compatibility.